1
Melampaui Pasangan: Pengelompokan Multi-Tipe dengan Tuples
AI037Lesson 19
00:00

Dalam arsitektur sistem C++ berskala besar, mendefinisikan struktur formal struct untuk setiap pengelompokan data sementara sering kali berlebihan. Objek std::tuple berfungsi sebagai kontainer heterogen, yang memperluas std::pair untuk menyimpan jumlah tak terbatas tipe yang berbeda.

1. Konstruksi & Keterbatasan

Berbeda dengan kontainer standar, konstruktor tuple adalah eksplisit. Anda tidak dapat menggunakan inisialisasi salinan dengan daftar; Anda harus menggunakan inisialisasi langsung atau std::make_tuple.

tuple<int, double> t1{1, 2.5}; // OK
tuple<int, double> t2 = {1, 2.5}; // Kesalahan!

2. Akses & Introspeksi

Anggota diakses melalui get<i>(nama_tuple), di mana i harus merupakan ekspresi konstan yang diketahui pada saat kompilasi. Metadata dapat ditanyakan melalui tuple_size dan tuple_element menggunakan decltype.

Susunan Memori dari std::tuplestringget<0>intget<1>doubleget<2>

3. Logika Relasional

Tuples dibandingkan secara leksikografis. Perbandingan hanya valid jika kedua tuple memiliki jumlah anggota yang sama dan tipe-tipe terkait mendukung operator relasional.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>